home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Graphics Plus
/
Graphics Plus.iso
/
msdos
/
raytrace
/
pov
/
gen
/
spiral22
/
spiral22.doc
< prev
next >
Wrap
Text File
|
1992-01-11
|
14KB
|
320 lines
│ SPIRAL v2.20 SPIRAL is a three dimensional coordinate generator.
│ Copyright (C) 1992 SPIRAL creates output compatible for use with:
│ By Truman Brown * Connect The Dots Smoother (c) by Truman Brown
│ Released: 01/12/92 * Vivid 1.0 (c) Raytracer by Stephen Coy
--------------------------------------------------------------------------------
STANDARD LEGAL INTRODUCTION AND REGISTRATION INFO:
SPIRAL is Freeware. No registration is required.
SPIRAL and its accompanying documentation are copyrighted material but
may be freely copied and distributed for NONCOMMERCIAL use if:
- Spiral and its documentation are distributed together.
- No modifications are made to the program or its documentation.
If you desire to use SPIRAL for commercial usage, please contact the author
for appropriate arrangements (see end of file for addressing).
Disclaimer:
The author make no guarantees as to usability or suitability of the program.
The author takes no responsibility for any effect the program may have on any
system. In other words, although SPIRAL has been tested as thoroughly as
possible, USE IT AT YOUR RISK.
Enjoy.
--------------------------------------------------------------------------------
Spiral 2.2 is a major overhaul of publicly released version 1.1.
New features include:
* a configuration file
* ability to create "spiraling spirals"
* up to three rotations and/or translations of coordinates
* Vivid-compatible output with optional gradient surface definitions
--------------------------------------------------------------------------------
Like most simple utilities, the best way to figure it out is to simply jump
right in and play with it. However, for those that like to read documentation,
here it is:
--------------------------------------------------------------------------------
USAGE: SPIRAL [/#] [/VI] [/Cfilename]
/# = an optional precision value of decimal accuracy
Valid range is 0 to 10 decimal places
Default value is 3
/VI = flag to generate Vivid output
Default is CTDS output
/C = flag to read input parameters from a configuration file [filename]
Sorry, no spaces are allowed between the forward slashes and a parameter
--------------------------------------------------------------------------------
Depending upon the information that you provide SPIRAL, it will generate
either CTDS- or Vivid-compatible output that describes the three dimensional
coordinates of circular or spiral shapes.
While you can simply type SPIRAL at the DOS command line and get started, it is
recommended that you use the configuration file method. The configuration file
provides an easy way to save the information required for creating a desired
spiral, and also has several parameters not offered in the interactive mode.
NOTE:
SPIRAL uses a left-hand XYZ coordinate reference. X points positively to
the right. Y points positively up. Z points positively into the screen.
This coordinate system is the same as that used by the Persistance of
Vision (PoV) raytracer (which CTDS supports).
This documentation follows the left-hand XYZ coordinate reference as described,
therefore Vivid users should equate Y as Z, and Z as Y.
--------------------------------------------------------------------------------
INTERACTIVE MODE: (read this even if you are using the configuration file)
After typing "SPIRAL" followed by any command line parameter[s] except
"/cfilename", Spiral will prompt you for the following information:
TYPE OF SPIRAL[S] TO GENERATE. THE OPTIONS ARE:
(1) Major spiral only,
(2) Minor spiral only, and
(3) Major and Minor spirals.
A Major spiral is a basic spiral.
A Minor spiral is a spiral that wraps around a Major spiral.
Option (1) will output the coordinates for your Major spiral to an ASCII
file called SPMAJOR.COR.
Option (2) will output the coordinates for your Minor spiral to an ASCII
file called SPMINOR.COR.
Option (3) will generate both SPMAJOR.COR and SPMINOR.COR.
DIRECTION THE MAJOR SPIRAL SPINS ON THE X-Z PLANE.
This information is required even if you are only generating a Minor spiral
(the Minor spiral needs to know everything about the shape of the Major
spiral it will be spinning around).
Simply put - this prompt requests the direction the Major spiral will start
spinning, beginning on the ground and working its way up to the sky.
Options are:
(1) Forward (counterclockwise) and
(2) Backward (clockwise)
BASE RADIUS OF THE MAJOR SPIRAL ON THE X-Z PLANE.
This information is required even if you are only generating a Minor spiral
(the Minor spiral needs to know everything about the shape of the Major
spiral it will be spinning around).
This is the distance (radius) along the X axis from (0,0,0) to the first
coordinate of the Major spiral. The first sphere is always plotted at
X=radius, Y=0, Z=0.
The base radius must be greater than zero.
APEX RADIUS OF THE MAJOR SPIRAL ON THE X-Z PLANE.
This information is required even if you are only generating a Minor spiral
(the Minor spiral needs to know everything about the shape of the Major
spiral it will be spinning around).
This is the distance (radius) from (X=0,Z=0) to the last coordinate of the
Major spiral.
The apex radius must be greater than zero.
HEIGHT OF THE MAJOR SPIRAL ON THE X-Y PLANE.
This information is required even if you are only generating a Minor spiral
(the Minor spiral needs to know everything about the shape of the Major
spiral it will be spinning around).
This is the distance from (0,0,0) to the tip of the spiral.
The height may be any value (i.e., zero will create a ring).
RADIUS OF THE FIRST SPHERE OF THE MAJOR SPIRAL.
This is the radius of the first sphere at the beginning of the Major spiral.
RADIUS OF THE LAST SPHERE OF THE MAJOR SPIRAL.
This is the radius of the last sphere at the end of the Major spiral.
NUMBER OF REVOLUTIONS OF THE MAJOR SPIRAL.
This information is required even if you are only generating a Minor spiral
(the Minor spiral needs to know everything about the shape of the Major
spiral it will be spinning around).
This is the number of times the Major spiral will make a full 360 degree
revolution about the Y axis.
This value must be greater than zero, but may be non-integer (i.e., 3.4).
NUMBER OF SPHERES PER REVOLUTION OF MAJOR SPIRAL:
This is the number of coordinates to generate for each revolution of the
Major spiral. If you are generating a spiral with non-integer revolutions,
remember that this value specifies the number of coordinates for a COMPLETE
(integer) revolution. For example, if your number of revolutions is 0.5,
and you wanted 10 coordinates generated, you would need to specify 20 for
this prompt.
This value must be an integer (whole number) and no less than 3.
If you selected options 2 or 3 from the first prompt (sphere_type = Minor, or
Major and Minor), then you will see the following prompts:
DIRECTION THE MINOR SPIRAL SPINS ON THE X-Y PLANE.
This is the direction the Major spiral will start spinning, beginning on
the right side of the first sphere of the Major spiral and working its
way around right-to-left till it reaches the apex sphere of the Major
coordinate.
Options are:
(1) Forward (counterclockwise) and
(2) Backward (clockwise)
BASE RADIUS OF THE MINOR SPIRAL ON THE X-Y PLANE.
This is the distance (radius) from the coordinate of the first sphere of
of the Major spiral to the first sphere of the Minor spiral.
It is recommended that this value be greater than the radius of the
first sphere of the Major spiral, so that it will be visible.
APEX RADIUS OF THE MINOR SPIRAL ON THE X-Y PLANE.
This is the distance (radius) from the coordinate of the last sphere of
of the Major spiral to the last sphere of the Minor spiral.
It is recommended that this value be greater than the radius of the
last sphere of the Major spiral, so that it will be visible.
RADIUS OF THE FIRST SPHERE OF THE MINOR SPIRAL.
This is the radius of the first sphere at the beginning of the Minor spiral.
RADIUS OF THE LAST SPHERE OF THE MINOR SPIRAL.
This is the radius of the last sphere at the end of the Minor spiral.
NUMBER OF REVOLUTIONS OF THE MINOR SPIRAL PER REVOLUTION OF MAJOR SPIRAL.
This is the number of times the Minor spiral will make a full 360 degree
revolution about the Major spiral for every revolution of Major spiral.
This value must be greater than zero, but may be non-integer (i.e., 3.4).
NUMBER OF SPHERES PER REVOLUTION OF MINOR SPIRAL:
This is the number of coordinates to generate for each revolution of the
Minor spiral.
This value must be an integer (whole number) and no less than 3. Larger
values are recommended to avoid intersection with the Major spiral.
At this point, you have completed the minimal information required to generate
the spiral coordinates. The screen will show a summary of the values you have
entered - if they are correct, then enter Y. If not, enter N and the program
will restart.
After the information has been verified, SPIRAL will prompt you for the number
of coordinates to generate before inserting a blank line. This value will
determine how CTDS creates it's bounding spheres. A common value would be
10. This value is ignored for Vivid output.
--------------------------------------------------------------------------------
CONFIGURATION FILE USAGE:
If you entered SPIRAL /Cfilename at the command line, SPIRAL will read the
configuration file "filename". SPIRAL comes with a sample configuration file
called SPIRAL.CFG. You may simply edit SPIRAL.CFG, or copy it to another
configuration filename.
WARNING:
DO NOT EDIT THE HEADER. SPIRAL checks the configuration file for specific
information, including the header, to ensure that values will be read
correctly.
Additionally, DO NOT ADD OR DELETE any lines. Simply overwrite the values
that currently exist. With the exception of the first comment, you may
change or delete any comment to suit your taste.
The configuration file provides the benefit of being able to save all of the
information regarding your spirals in a convenient file which can be easily
modified. It also provides additional parameters that are not available in
the interactive mode. These include:
OPTIONAL VIVID OUTPUT TYPE: (only recognized if /VI is used)
SPIRAL will generate two types of Vivid output:
(1) sphere definitions only.
(2) individual surface and sphere definitions.
Selecting option (2) will allow you to graduate the various surface
parameters from the 1st sphere to the last sphere. All basic Vivid 1.0
surface parameters are currently supported. Look at the sample
configuration file for details.
1ST X, Y, Z TRANSLATION OF SPIRALS
1ST X, Y, Z ROTATIONS OF SPIRALS
2ND X, Y, Z TRANSLATION OF SPIRALS
2ND X, Y, Z ROTATIONS OF SPIRALS
3RD X, Y, Z TRANSLATION OF SPIRALS
3RD X, Y, Z ROTATIONS OF SPIRALS
These options will allow you to translate and/or rotate the final spiral
coordinates up to three times. Translations and rotations are performed
in sequence and alphabetically (i.e., X first, then Y, then Z). As you
are aware, the sequence of rotations and translations is critical to the
final placement of a coordinate. Therefore, carefully consider what the
transformation you are entering will do.
--------------------------------------------------------------------------------
If you did not select the /VI parameter on the command line, SPIRAL will
generate a CTDS - compatible file. To use it, enter a command similar to:
CTDS /ISPMAJOR.COR /omyspiral.dat
If you did select the /VI parameter, then SPIRAL will generate usable Vivid
data which you can simply copy into your .V file.
--------------------------------------------------------------------------------
HISTORY: (the life of a small program :} )
------------------------------------------
01/12/91: Spiral v2.2
Code cleanup.
Fixed bug in configuration file.
Added gradiated Vivid surface options.
Reworked documentation.
01/02/91: Spiral v2.0
Added Vivid-compatible output. Not released to public
10/30/91: Spiral v1.5
Added configuration file. Not released to public.
09/19/91: Spiral v1.01
No change whatsoever. Released separately from CTDS.
05/30/91: Spiral v1.00
Cleaned up: 1st Official release
04/01/91: Spiral v0.00
SPIRAL (c) value generator written to test results of CTDS.
--------------------------------------------------------------------------------
Please address any bug-reports, comments, or desire to pay for SPIRAL (smile)
to Truman Brown:
COMPUSERVE: 71477,221 or
TR "The Graphics Alternative" (510) 524-2780 or
You Can Call Me Ray BBS (708) 358-5611 or
via ADENET.
--------------------------------------------------------------------------------
I wish to thank:
My wife, for her patience and love. Obsessed programmers/traceaholics can be
miserable to live with.